The present invention generally relates to management of computer networks. The invention relates more specifically to determining troubleshooting information for packet flows representing voice calls that have been completed through an Internet Protocol network.
Internet Protocol (xe2x80x9cIPxe2x80x9d) telephony or voice over IP (xe2x80x9cVoIPxe2x80x9d) refers to the transmission of voice calls or voice traffic in packets over one or more networks or internets that are based on IP. VoIP allows organizations to apply an existing IP network to new uses by carrying both voice and data traffic in the IP network. With VoIP, organizations that have extensive IP networks that span multiple cities or states by using Wide area Network (xe2x80x9cWANxe2x80x9d) links may avoid using public switched telephone networks (xe2x80x9cPSTNxe2x80x9d) to carry telephone calls, thereby achieving significant cost savings. In addition, the organization gains increased control over the network that is carrying the calls. Further information about VoIP is available in numerous references, e.g., U. Black, xe2x80x9cVoice Over IPxe2x80x9d (Upper Saddle River, N.J.: Prentice-Hall, 2000).
However, the hardware and software that form an IP network may fail, introduce errors, or cause other problems when data traffic or voice traffic is sent over the IP network. For example, a phone at the originating end of a call may fail to make a connection with the destination phone for sending a VoIP flow due to a signaling phase problem. Other problems may include disruptions of a voice transmission or poor sound quality resulting from excessive packet latency or jitter. Latency is end-to-end delay in a transmission, and jitter is variation in the latency. Such problems may be caused by improper configuration of routers, switches, or other devices in the network. Thus, mechanisms are needed to isolate the source of a problem in the network in order to correct the problem.
One method of isolating the source of such problems (xe2x80x9ctroubleshootingxe2x80x9d) is to trace a path traversed by packets between two or more media end-points in an IP network that carries different media traffic such as voice, data and or video. Tracing a path traversed by packets between two or more media end-points in an IP network may be performed at different logical levels depending on the type of network communications that is of interest during the troubleshooting process.
In specifying a logical level for path tracing, the Open Systems Interconnection (xe2x80x9cOSIxe2x80x9d) network reference model is useful. The OSI reference model divides the tasks of moving information between the network devices into groups of manageable tasks. Each group of tasks is assigned to one of seven named and numbered logical layers of the OSI reference model.
Tracing a path at Layer 3 (the Network layer) or at Layer 2 (the Data Link layer) is desirable to facilitate the troubleshooting process, however, there is no known way to carry out such path tracing in a way that addresses problems unique to voice call transmission in an IP network.
Layer 3 encompasses routing and related functions that enable media to move across an internetwork from a source device to a destination device. For example, Layer 3 may manage the routing of an IP packet from one Local Area Network (xe2x80x9cLANxe2x80x9d) to another. The path traversed by an IP packet at the Layer 3 level is referred to herein as a xe2x80x9cLayer 3 path.xe2x80x9d A process of determining a path at Layer 3 is referred to herein as xe2x80x9cLayer 3 path tracing.xe2x80x9d Layer 2 defines network and protocol characteristics, including physical addressing, network topology, sequencing of frames, and flow control. Determining a path at Layer 2 is herein referred to as xe2x80x9cLayer 2 path tracing.xe2x80x9d
Based on the foregoing, there is a clear need for a mechanism that can trace a Layer 3 and Layer 2 path associated with a voice over IP flow in an IP network.
The foregoing needs, and other needs and objects that will become apparent for the following description, are achieved in the present invention, which comprises, in one aspect, a method for creating and storing troubleshooting information for diagnosing one or more problems experienced in one or more completed voice calls that are carried by a packet-switched data network.
After completion of a voice-over IP call, for example, first information representing a Layer 3 path of a packet flow of a completed call that has passed through the data network is created and stored. Second information representing a Layer 2 path of a packet flow of the completed call that has passed through the data network is also created and stored. From a database containing phone call information, one or more selected phone call detail records are retrieved, which are associated with the completed call. The database of phone call information contains detail records for a large plurality of completed calls. Thus, the likely path of a troubled call is determined, and phone call detail records associated with key points in the path are located.
The first information, second information, and selected phone call detail records are provided to a user for use in evaluating one or more problems experienced in the completed call. Based on this information, the user can troubleshoot the call and identify responsive action. In one embodiment, IP path segments of the voice over IP flow are identified and media termination points are identified for each path segment. Layer 2 and Layer 3 path tracing is performed for each IP segment of the voice over IP flow.
In other aspects, the invention encompasses a computer apparatus, a computer readable medium, and a carrier wave configured to carry out the foregoing steps.